.photo-gallery {
  padding: 20px;
}

.masonry-grid {
  display: flex;
  width: 100%;
  margin-left: -10px; /* 抵消列间距 */
}

.masonry-grid-column {
  padding-left: 10px; /* 列间距 */
  background-clip: padding-box;
}

.photo-item {
  margin-bottom: 10px;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}

.photo-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.photo-item img {
  width: 100%;
  display: block;
}

.no-photos {
  text-align: center;
  padding: 50px;
  font-size: 18px;
  color: #666;
  background-color: #f5f5f5;
  border-radius: 8px;
}